Computer systems are used to render all kinds of images for display. In general, it is important that images rendered for display appear as realistic to a viewer as possible. It is also important in many applications that the computer system used to render images for display operate at an interactive rate.
Many computer systems used to render images for display have graphics processors. Graphics processors allow for flexibility in the configuration of the per-pixel computation stage of their graphics rendering pipeline. This makes it possible, for example, to implement at interactive rates complex algorithms for combining, blending, and/or modulating multiple textures in a single pass through the graphics rendering pipeline.
Using a graphics processor, it is possible, for example, to perform a per-fragment texture selection based on spatial mask-information encoded in an additional texture. This is particularly useful in a terrain texture paging scheme, where multiple textures (each providing coverage for a contiguous subregion of the terrain) need to be spatially selected on a per-fragment basis during rendering of a single primitive. U.S. application Ser. No. 10/183,553, which is incorporated by reference herein in its entirety, describes how a mask texture containing properly encoded information on the spatial coverage of various textures can be sampled to obtain a per-fragment mask value.
While techniques for blending textures exists, these techniques have limitations. For example, the blending techniques that exist select textures based on spatial availability information. There are situations, however, where selecting textures based only on spatial availability information will result in the selection of the textures providing coverage at the highest available resolution for each fragment. These situations include, for example, implementations where the available textures (or a subset of them) are not MIP-mapped, and where some regions of terrain imagery are present in more than one texture at different resolutions. Because, in these situations, the selected textures of higher resolution are not MIP-mapped, their usage over areas of the terrain whose area projected to screen-space is small will cause visible aliasing problems or texture scintillation.
What is needed is a texture selection scheme and blending technique that do not exhibit texture scintillation for the situations described above.